فرض کن میخوای روی یه کامپیوتر، چند تا سیستمعامل مجزا اجرا کنی. میتونی از VirtualBox استفاده کنی (نوع ۲)، ولی اگه سرور داری و میخوای بهترین عملکرد رو داشته باشی، باید از KVM (نوع ۱) استفاده کنی. KVM مثل یه راننده حرفهای است که مستقیماً با سختافزار کار میکند و ماشینهای مجازی رو با سرعت بالا اجرا میکند.
KVM (مخفف Kernel-based Virtual Machine) یک راهحل مجازیسازی کامل (Full Virtualization) برای لینوکس روی پردازندههای x86 است که از افزونههای مجازیسازی سختافزاری (Intel VT یا AMD-V) پشتیبانی میکند. KVM شامل دو بخش اصلی است:
kvm-intel.ko (برای اینتل) یا kvm-amd.ko (برای AMD).با استفاده از KVM، میتوانید چندین ماشین مجازی با سیستمعاملهای لینوکس یا ویندوز (بدون نیاز به تغییر) اجرا کنید. هر ماشین مجازی دارای سختافزار مجازی اختصاصی خود است: کارت شبکه، دیسک، کارت گرافیک و ...
قبل از نصب KVM، باید مطمئن شوید که پردازنده شما از مجازیسازی سختافزاری پشتیبانی میکند.
توضیح: اگر خروجی شامل vmx باشد، پردازنده اینتل و اگر شامل svm باشد، پردازنده AMD است و از مجازیسازی پشتیبانی میکند.
توضیح بستهها:
qemu-kvm → موتور مجازیسازیlibvirt-daemon-system → سرویسهای مدیریت ماشینهای مجازیlibvirt-clients → ابزارهای خط فرمان (مثل virsh)bridge-utils → برای ایجاد پل شبکهvirt-manager → رابط گرافیکی مدیریت ماشینهای مجازی
توضیح: libvirtd سرویس اصلی مدیریت ماشینهای مجازی است که باید فعال و راهاندازی شود.
برای استفاده از virt-manager و virsh بدون نیاز به sudo، کاربر خود را به گروه libvirt اضافه کنید:
توضیح: پس از اجرا، باید از سیستم خارج و دوباره وارد شوید تا تغییرات اعمال شوند.
virt-manager در دبیان، کاربر باید عضو گروه libvirt باشد.
توضیح: بستهها مشابه دبیان هستند اما با نامهای اندکی متفاوت. در الما، virt-install نیز نصب میشود که ابزار خط فرمان برای ایجاد ماشین مجازی است.
virt-install به صورت جداگانه نصب میشود.
virt-manager (رابط گرافیکی)
یک ابزار گرافیکی (GUI) برای مدیریت ماشینهای مجازی. با اجرای virt-manager میتوانید ماشینهای مجازی را بسازید، شروع، متوقف، حذف و تنظیمات آنها را تغییر دهید.
virsh (ابزار خط فرمان)
ابزار خط فرمان قدرتمند برای مدیریت ماشینهای مجازی. با virsh میتوانید تمام کارهای virt-manager را از طریق ترمینال انجام دهید.
توضیح: virsh list --all همه ماشینهای مجازی (فعال و غیرفعال) را نمایش میدهد.
virsh ابزار اصلی مدیریت ماشینهای مجازی در خط فرمان است.
virt-install (ایجاد ماشین مجازی از خط فرمان)با این ابزار میتوانید یک ماشین مجازی جدید را بهطور کامل از خط فرمان ایجاد کنید.
توضیح: این دستور یک ماشین مجازی با نام test، ۲ گیگابایت RAM، ۲ هسته CPU، دیسک ۱۰ گیگابایتی و یک ISO مشخص میسازد.
virt-install برای ایجاد ماشینهای مجازی از خط فرمان استفاده میشود و در الما به صورت جداگانه نصب میشود.
| دستور | توضیح |
|---|---|
virsh list --all |
لیست همه ماشینهای مجازی |
virsh start vm-name |
شروع یک ماشین مجازی |
virsh shutdown vm-name |
خاموش کردن ماشین مجازی |
virsh destroy vm-name |
خاموش کردن اجباری (قطع برق) |
virsh undefine vm-name |
حذف ماشین مجازی (پاک کردن تعریف) |
virsh console vm-name |
اتصال به کنسول ماشین مجازی |
virsh dominfo vm-name |
نمایش اطلاعات ماشین مجازی |
virsh destroy معادل قطع برق (خاموشی اجباری) و virsh shutdown معادل خاموشی نرمال است.
برای اطمینان از اینکه KVM به درستی کار میکند، میتوانید از دستورات زیر استفاده کنید:
توضیح: اگر ماژولهای kvm و kvm_intel (یا kvm_amd) را مشاهده کردید، KVM به درستی بارگذاری شده است.
توضیح: این دستور همه پیشنیازهای میزبانی ماشینهای مجازی را بررسی میکند.
vmx (Intel) و svm (AMD).qemu-kvm libvirt-daemon-system libvirt-clients virt-managerqemu-kvm libvirt virt-install virt-managerlibvirtdlibvirt شوید.virt-manager (GUI)، virsh (CLI)، virt-install (ایجاد).lsmod | grep kvm و virt-host-validate.